void PointLight(in int i, in vec3 eye, in vec3 ecPosition3, in vec3 normal,
		inout vec4 ambient, inout vec4 diffuse, inout vec4 specular)
{
	float nDotVP;	// normal . light direction
	float nDotHV;	// normal . half vector
	float pf;		// power factor
	float attenuation;	// computed attenuation factor
	float d;			// distance from surface to light source
	vec3 VP;			// direction from surface to light position
	vec3 halfVector;	// direction of maximum highlights
	
	// Compute vector from surface to light position
	VP = vec3(gl_LightSource[i].position) - ecPosition3;
	
	// Compute distance between surface and light position
	d = length(VP);
	
	// Compute attenuation
	attenuation = 1.0 / (gl_LightSource[i].constantAttenuation
				+ gl_LightSource[i].linearAttenuation * d
				+ gl_LightSource[i].quadraticAttenuation * d * d);
	
	halfVector = normalize(VP + eye);
	
	nDotVP = max(0.0, dot(normal,VP));
	nDotHV = max(0.0, dot(normal, halfVector));
	
	if( nDotVP == 0.0)
		pf = 0.0;
	else
		pf = pow(nDotHV, gl_FrontMaterial.shininess);
	
	ambient		+= gl_LightSource[i].ambient * attenuation;
	diffuse		+= gl_LightSource[i].diffuse * nDotVP * attenuation;
	specular	+= gl_LightSource[i].specular * pf * attenuation;
}

